package day10_xml;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.List;

/*1. 请将dom4j包导入到项目中。
2. 使用dom4j读取上一题中的books.xml文件，解析每条数据，并打印*/
public class ReadXML {
    public static void main(String[] args) {
        //1.创建一个Dom4J框架提供的解析器对象
        SAXReader saxReader = new SAXReader();
        //2.使用saxReader对象把需要解析的XML文件读成一个Document对象
        try {
            Document doc = saxReader.read("src/books.xml");
            //3.从文档对象中解析XML文件的全部数据
            Element rootElement = doc.getRootElement();     //根元素
            System.out.println("根元素："+rootElement.getName());
            System.out.println("---------------------------------------");
            //4.获取根元素下的全部一级子元素
            List<Element> booklist = rootElement.elements("book");
            //5.遍历一级子元素，获得二级子元素
            for (Element element : booklist) {
                //获得元素文本
                System.out.println("name:"+element.elementText("name"));
                System.out.println("publisher:"+element.elementText("publisher"));
                System.out.println("date:"+element.elementText("date"));
                System.out.println("price:"+element.elementText("price"));
                System.out.println("---------------------------------------");
            }
        } catch (DocumentException e) {
            e.printStackTrace();
        }

    }
}
